package com.fdb.efp.nls.service.dao;

import com.fdb.basic.framework.core.base.DataOptionalAuthorityDao;
import com.fdb.efp.nls.service.domain.RscAdjustApp;
import com.fdb.efp.nls.service.vo.RscAdjustAppVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>DAO interface:风险分类调整申请表				<p>
 * @author chenqm1
 * @date 2018-05-07
 */
public interface RscAdjustAppDao extends DataOptionalAuthorityDao {
	
	public int insertRscAdjustApp(RscAdjustApp rscAdjustApp);
	
	public int deleteByPk(RscAdjustApp rscAdjustApp);
	
	public int updateByPk(RscAdjustApp rscAdjustApp);
	
	public RscAdjustApp queryByPk(RscAdjustApp rscAdjustApp);
	
	public List<RscAdjustApp> queryAllOwnerByPage(RscAdjustAppVO rscAdjustApp);
	
	public List<RscAdjustApp> queryAllCurrOrgByPage(RscAdjustAppVO rscAdjustApp);
	
	public List<RscAdjustApp> queryAllCurrDownOrgByPage(RscAdjustAppVO rscAdjustApp);

	public List<RscAdjustApp> queryAllCurrOwnerPrdByPage(RscAdjustAppVO rscAdjustApp);

	public List<RscAdjustApp> queryExAllOwner(RscAdjustAppVO rscAdjustApp);

	public List<RscAdjustApp> queryExAllCurrOrg(RscAdjustAppVO rscAdjustApp);

	public List<RscAdjustApp> queryExAllCurrDownOrg(RscAdjustAppVO rscAdjustApp);

	public List<RscAdjustApp> queryExAllCurrOwnerPrd(RscAdjustAppVO rscAdjustApp);

	public int rscIndivAppCusHandOver(@Param("fromUser") String fromUser, @Param("toUser") String toUser, @Param("fromBrId") String fromBrId, @Param("toBrId") String toBrId, @Param("cusIds") List<String> cusIds);

	/**
	 * TODO: 根据借据编号查询分类调整申请表
	 * @author xiezw
	 * @params  * @param null
	 * @return
	 * @date 2019/9/5 10:16
	 * @version 0.1
	 */
	public List<RscAdjustApp> queryAllByBillNo(RscAdjustAppVO rscAdjustApp);

	/**
	 * TODO: 根据分类调整流水号更新调整申请表
	 * @author xiezw
	 * @params  * @param null
	 * @return
	 * @date 2019/9/5 15:26
	 * @version 0.1
	 */
	public int updateByRscAdjNo(RscAdjustApp rscAdjustApp);

	/**
	 * TODO: 根据解除分类调整流水号更新调整申请表
	 * @author xiezw
	 * @params  * @param null
	 * @return
	 * @date 2019/9/5 15:26
	 * @version 0.1
	 */
	public int updateByRscRmNo(RscAdjustApp rscAdjustApp);


	/**
	 * TODO: 根据分类调整流水号删除申请数据
	 * @author xiezw
	 * @params  * @param null
	 * @return
	 * @date 2019/9/5 15:55
	 * @version 0.1
	 */
	public int deleteByRscAdjNo(RscAdjustApp rscAdjustApp);

	/**
	 * TODO: 根据解除分类调整流水号删除申请数据
	 * @author xiezw
	 * @params  * @param null
	 * @return
	 * @date 2019/9/5 15:55
	 * @version 0.1
	 */
	public int deleteByRscRmNo(RscAdjustApp rscAdjustApp);


	/**
	 * TODO: 查询审批状态为通过的数据
	 * @author xiezw
	 * @params  * @param null
	 * @return
	 * @date 2019/9/6 10:26
	 * @version 0.1
	 */
	public List<RscAdjustApp> queryAllApprByPage(RscAdjustAppVO rscAdjustApp);

	/**
	 * TODO: 根据风险分类调整流水号查询
	 * @author xiezw
	 * @params  * @param null
	 * @return
	 * @date 2019/9/12 10:38
	 * @version 0.1
	 */
	public RscAdjustApp queryByRscAdjNo(RscAdjustAppVO rscAdjustApp);

	/**
	 * TODO: 根据风险分类调整解除流水号查询
	 * @author xiezw
	 * @params  * @param null
	 * @return
	 * @date 2019/9/12 10:38
	 * @version 0.1
	 */
	public RscAdjustApp queryByRscRmNo(RscAdjustAppVO rscAdjustApp);

	/**
	 * 用于导出查询的所有数据
	 * @author xiezw
	 * @params  * @param null
	 * @return
	 * @date 2019/11/15 9:46
	 * @version 0.1
	 */
	public List<RscAdjustApp> queryAll(RscAdjustAppVO rscAdjustApp);


}
